package org.tcp;

import java.io.IOException;
import java.net.Socket;

public class TCPThreadServer extends TCPEchoServer{
    public TCPThreadServer(int port) throws IOException {
        super(port);
    }

    @Override
    public void start() throws IOException {
        System.out.println("服务已启动，等待客户端连接.");
        // 循环处理连接请求
        while(true) {
            // 接收客户端请求, 如果没有客户端连接就阻塞等待
            Socket clientSocket = socket.accept();
            // 接收到客户端连接之后，交给专门的方法进行数据处理
            Thread thread = new Thread(()->{
                // 子线程处理连接
                    processConnections (clientSocket);
            });
            // 启动线程，申请操作系统的PCB
            thread.start();

        }
    }
    public static void main(String[] args) throws IOException {
        TCPThreadServer server = new TCPThreadServer(9090);
        server.start();
    }
}
